package com.sright.bcard.common.service.share.dto.content;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sright.bcard.common.service.share.dto.BaseDomain;
import lombok.Data;

import java.io.Serializable;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class DemoCardDTO extends BaseDomain {
    private static final long serialVersionUID = -6541091334994555513L;
    /**
     * name_zh : 李房
     * name_en : Nice House
     * font_colour : FFF
     * mobile_1 : 15267008822
     * cover_info : {"name":"黑","cover":"card/2018/07/03/406c2c2bfa78b0e173bb40055854055e.png"}
     * media_info : {"title":"李房名片背景视频","cover":"card/2018/07/03/114b8826cc0eaa72771f618afa9b11f0.png","file_path":"transcode/55eca14716cda1400b6408016b0e1875/f08173213de516d2b27b477af970c86d.mp4"}
     * logo1_info : {"name":"86900fb375fcc89ee641b7bbd06299dd.png","img":"card/2020/03/10/9044f4c091c148e83b799c400b4730b0.png"}
     * company_1_info : {"name_zh":"大市场中心","name_en":"Marketing"}
     * job_1_info : {"name_zh":"营销总监","name_en":"Marketing Director"}
     * address_info : {"address_zh":"新疆维吾尔自治区乌鲁木齐市友好北路19号","address_en":"No. 19 , Youhao North Road, Wulumuqi City, Xinjiangweiwuerzizhi District"}
     * enterprise_info : {"media":"https://ivetest.ctrlvideo.com/game#5923739505466261","media_border":"card/2020/03/09/6cca94db8fa5832d4552f230cfd1b2ea.png","cover":"card/2020/03/09/c0fac525ad0019e924ae08b525609f03.png","player_cover":"card/2020/03/09/5dd32fc6749868efbf2c17f51023c555.png","contact_button":"card/2020/02/17/9332c8bb34b9c9c06bbc6483a87e1922.png","jump_button":"card/2020/03/09/0026a3cc125b23c07650b88f8b166e3f.png","card_cover":"transcode/83f1c9f2d3d72e4fdd58b3cfdfb0214b/f0838cefad849c51c8b75e03d937be6a.mp4","contact_us":"15267008822"}
     */

    @JsonProperty(value = "name_zh")
    private String nameZh;

    @JsonProperty(value = "name_en")
    private String nameEn;

    @JsonProperty(value = "font_colour")
    private String fontColour;

    @JsonProperty(value = "mobile_1")
    private String mobile1;

    private String mobile;

    @JsonProperty(value = "cover_info")
    private CoverInfoBean coverInfo;

    @JsonProperty(value = "media_info")
    private MediaInfoBean mediaInfo;

    @JsonProperty(value = "logo1_info")
    private Logo1InfoBean logo1Info;

    @JsonProperty(value = "company_1_info")
    private Company1InfoBean company1Info;

    @JsonProperty(value = "job_1_info")
    private Job1InfoBean job1Info;

    @JsonProperty(value = "department_1_info")
    private Department1InfoBean department1Info;

    @JsonProperty(value = "works_info")
    private WorksInfoBean worksInfo;

    @JsonProperty(value = "address_info")
    private AddressInfoBean addressInfo;

    @JsonProperty(value = "enterprise_info")
    private EnterpriseInfoBean enterpriseInfo;

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class CoverInfoBean implements Serializable {
        private static final long serialVersionUID = 297205805291091874L;
        /**
         * name : 黑
         * cover : card/2018/07/03/406c2c2bfa78b0e173bb40055854055e.png
         */

        private String name;

        private String cover;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class MediaInfoBean implements Serializable{
        /**
         * title : 李房名片背景视频
         * cover : card/2018/07/03/114b8826cc0eaa72771f618afa9b11f0.png
         * file_path : transcode/55eca14716cda1400b6408016b0e1875/f08173213de516d2b27b477af970c86d.mp4
         */

        private String title;

        private String cover;

        @JsonProperty(value = "file_path")
        private String filePath;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Logo1InfoBean implements Serializable{
        /**
         * name : 86900fb375fcc89ee641b7bbd06299dd.png
         * img : card/2020/03/10/9044f4c091c148e83b799c400b4730b0.png
         */

        private String name;

        private String img;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Company1InfoBean implements Serializable{
        /**
         * name_zh : 大市场中心
         * name_en : Marketing
         */
        @JsonProperty(value = "name_zh")
        private String nameZh;

        @JsonProperty(value = "name_en")
        private String nameEn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Job1InfoBean implements Serializable{
        /**
         * name_zh : 营销总监
         * name_en : Marketing Director
         */
        @JsonProperty(value = "name_zh")
        private String nameZh;

        @JsonProperty(value = "name_en")
        private String nameEn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class Department1InfoBean implements Serializable{
        @JsonProperty(value = "name_zh")
        private String nameZh;

        @JsonProperty(value = "name_en")
        private String nameEn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class WorksInfoBean implements Serializable{
        @JsonProperty(value = "name_zh")
        private String nameZh;

        @JsonProperty(value = "name_en")
        private String nameEn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class AddressInfoBean implements Serializable{
        /**
         * address_zh : 新疆维吾尔自治区乌鲁木齐市友好北路19号
         * address_en : No. 19 , Youhao North Road, Wulumuqi City, Xinjiangweiwuerzizhi District
         */

        @JsonProperty(value = "name_zh")
        private String nameZh;

        @JsonProperty(value = "name_en")
        private String nameEn;
    }

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class EnterpriseInfoBean implements Serializable{
        /**
         * media : https://ivetest.ctrlvideo.com/game#5923739505466261
         * media_border : card/2020/03/09/6cca94db8fa5832d4552f230cfd1b2ea.png
         * cover : card/2020/03/09/c0fac525ad0019e924ae08b525609f03.png
         * player_cover : card/2020/03/09/5dd32fc6749868efbf2c17f51023c555.png
         * contact_button : card/2020/02/17/9332c8bb34b9c9c06bbc6483a87e1922.png
         * jump_button : card/2020/03/09/0026a3cc125b23c07650b88f8b166e3f.png
         * card_cover : transcode/83f1c9f2d3d72e4fdd58b3cfdfb0214b/f0838cefad849c51c8b75e03d937be6a.mp4
         * contact_us : 15267008822
         */

        private String media;

        @JsonProperty(value = "media_border")
        private String mediaBorder;

        private String cover;

        @JsonProperty(value = "player_cover")
        private String playerCover;

        @JsonProperty(value = "contact_button")
        private String contactButton;

        @JsonProperty(value = "jump_button")
        private String jumpButton;

        @JsonProperty(value = "card_cover")
        private String cardCover;

        @JsonProperty(value = "contact_us")
        private String contactUs;
    }
}
